package cn.harry.modular.ai.domain;

import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.harry.common.base.BaseEntity;
/**
 * AI 聊天对话实体对象
 *
 * @author harry
 * @公众号 Harry技术
 */
@Getter
@Setter
@TableName("ai_chat_conversation")
public class ChatConversation extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 用户编号
     */
    private Long userId;
    /**
     * 聊天角色
     */
    private Long roleId;
    /**
     * 知识库编号
     */
    private Long knowledgeId;
    /**
     * 对话标题
     */
    private String title;
    /**
     * 模型编号
     */
    private Long modelId;
    /**
     * 模型标识
     */
    private String model;
    /**
     * 是否置顶
     */
    private Boolean pinned;
    /**
     * 置顶时间
     */
    private LocalDateTime pinnedTime;
    /**
     * 角色设定
     */
    private String systemMessage;
    /**
     * 温度参数
     */
    private Double temperature;
    /**
     * 单条回复的最大 Token 数量
     */
    private Integer maxTokens;
    /**
     * 上下文的最大 Message 数量
     */
    private Integer maxContexts;
    /**
     * 有效状态，0:无效 1:有效
     */
    @TableLogic
    private Integer valid;
}
